package cn.golxen.rsms.service;

import cn.golxen.rsms.bean.bo.UserMainWithCodeBo;
import cn.golxen.rsms.bean.entity.EmployeeMain;
import cn.golxen.rsms.bean.entity.StoreMain;
import cn.golxen.rsms.bean.entity.StoreOffers;
import cn.golxen.rsms.bean.entity.UserMain;
import cn.golxen.rsms.bean.vo.EmployeeLoginVo;
import cn.golxen.rsms.bean.vo.UserLoginVo;

import java.util.List;
import java.util.Set;

public interface StoreService {
    int registerUser(UserMainWithCodeBo bo);
    UserLoginVo loginUser(UserMainWithCodeBo bo);
    UserMain getUserMainByStoreId(int storeId);
    int getStoreCountAll();
    int updateCustomer(int storeId, Set<String> customer);
    Set<String> getCustomer(int storeId);
    void sendRegisterMail(String userId,String mail);
    void sendCommonMail(String userId,String mail);
    int addStore(StoreMain bo);
    int delStore(int storeId,String userId,String mailCode);
    int updateStore(StoreMain storeMain);
    List<StoreMain> getStoreMainList(String userId);
    List<StoreMain> getStoreMainByStoreId(Set<Integer> storeIdSet);
    List<StoreMain> getWechatPayConfig();
    int addEmployee(EmployeeMain employeeMain);
    int delEmployee(EmployeeMain employeeMain);
    int updateEmployee(EmployeeMain employeeMain);
    List<EmployeeMain> getEmployeeList(int storeId);
    int addStoreOffers(StoreOffers storeOffers);
    List<StoreOffers> getStoreOffersListHistory(int storeId);
    List<StoreOffers> getStoreOffersListRuing(int storeId);
    int endStoreOffers(String code,int storeId);
    void reloadStoreOffersRuing();
    int bindOpenId(String openId,String userId);
    UserMain getUserMainByOpenId(String openId);
    void loginUserOnSendMail(UserMain userMain);
    EmployeeLoginVo loginEmployeeMain(EmployeeMain employeeMain);
}
